package com.xyz.entity.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class SpecialEmContainerExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SpecialEmContainerExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andEmIdIsNull() {
            addCriterion("em_id is null");
            return (Criteria) this;
        }

        public Criteria andEmIdIsNotNull() {
            addCriterion("em_id is not null");
            return (Criteria) this;
        }

        public Criteria andEmIdEqualTo(Long value) {
            addCriterion("em_id =", value, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdNotEqualTo(Long value) {
            addCriterion("em_id <>", value, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdGreaterThan(Long value) {
            addCriterion("em_id >", value, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdGreaterThanOrEqualTo(Long value) {
            addCriterion("em_id >=", value, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdLessThan(Long value) {
            addCriterion("em_id <", value, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdLessThanOrEqualTo(Long value) {
            addCriterion("em_id <=", value, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdIn(List<Long> values) {
            addCriterion("em_id in", values, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdNotIn(List<Long> values) {
            addCriterion("em_id not in", values, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdBetween(Long value1, Long value2) {
            addCriterion("em_id between", value1, value2, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdNotBetween(Long value1, Long value2) {
            addCriterion("em_id not between", value1, value2, "emId");
            return (Criteria) this;
        }

        public Criteria andEmNameIsNull() {
            addCriterion("em_name is null");
            return (Criteria) this;
        }

        public Criteria andEmNameIsNotNull() {
            addCriterion("em_name is not null");
            return (Criteria) this;
        }

        public Criteria andEmNameEqualTo(String value) {
            addCriterion("em_name =", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameNotEqualTo(String value) {
            addCriterion("em_name <>", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameGreaterThan(String value) {
            addCriterion("em_name >", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameGreaterThanOrEqualTo(String value) {
            addCriterion("em_name >=", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameLessThan(String value) {
            addCriterion("em_name <", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameLessThanOrEqualTo(String value) {
            addCriterion("em_name <=", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameLike(String value) {
            addCriterion("em_name like", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameNotLike(String value) {
            addCriterion("em_name not like", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameIn(List<String> values) {
            addCriterion("em_name in", values, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameNotIn(List<String> values) {
            addCriterion("em_name not in", values, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameBetween(String value1, String value2) {
            addCriterion("em_name between", value1, value2, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameNotBetween(String value1, String value2) {
            addCriterion("em_name not between", value1, value2, "emName");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andFactoryCodeIsNull() {
            addCriterion("factory_code is null");
            return (Criteria) this;
        }

        public Criteria andFactoryCodeIsNotNull() {
            addCriterion("factory_code is not null");
            return (Criteria) this;
        }

        public Criteria andFactoryCodeEqualTo(String value) {
            addCriterion("factory_code =", value, "factoryCode");
            return (Criteria) this;
        }

        public Criteria andFactoryCodeNotEqualTo(String value) {
            addCriterion("factory_code <>", value, "factoryCode");
            return (Criteria) this;
        }

        public Criteria andFactoryCodeGreaterThan(String value) {
            addCriterion("factory_code >", value, "factoryCode");
            return (Criteria) this;
        }

        public Criteria andFactoryCodeGreaterThanOrEqualTo(String value) {
            addCriterion("factory_code >=", value, "factoryCode");
            return (Criteria) this;
        }

        public Criteria andFactoryCodeLessThan(String value) {
            addCriterion("factory_code <", value, "factoryCode");
            return (Criteria) this;
        }

        public Criteria andFactoryCodeLessThanOrEqualTo(String value) {
            addCriterion("factory_code <=", value, "factoryCode");
            return (Criteria) this;
        }

        public Criteria andFactoryCodeLike(String value) {
            addCriterion("factory_code like", value, "factoryCode");
            return (Criteria) this;
        }

        public Criteria andFactoryCodeNotLike(String value) {
            addCriterion("factory_code not like", value, "factoryCode");
            return (Criteria) this;
        }

        public Criteria andFactoryCodeIn(List<String> values) {
            addCriterion("factory_code in", values, "factoryCode");
            return (Criteria) this;
        }

        public Criteria andFactoryCodeNotIn(List<String> values) {
            addCriterion("factory_code not in", values, "factoryCode");
            return (Criteria) this;
        }

        public Criteria andFactoryCodeBetween(String value1, String value2) {
            addCriterion("factory_code between", value1, value2, "factoryCode");
            return (Criteria) this;
        }

        public Criteria andFactoryCodeNotBetween(String value1, String value2) {
            addCriterion("factory_code not between", value1, value2, "factoryCode");
            return (Criteria) this;
        }

        public Criteria andLifeIsNull() {
            addCriterion("life is null");
            return (Criteria) this;
        }

        public Criteria andLifeIsNotNull() {
            addCriterion("life is not null");
            return (Criteria) this;
        }

        public Criteria andLifeEqualTo(Integer value) {
            addCriterion("life =", value, "life");
            return (Criteria) this;
        }

        public Criteria andLifeNotEqualTo(Integer value) {
            addCriterion("life <>", value, "life");
            return (Criteria) this;
        }

        public Criteria andLifeGreaterThan(Integer value) {
            addCriterion("life >", value, "life");
            return (Criteria) this;
        }

        public Criteria andLifeGreaterThanOrEqualTo(Integer value) {
            addCriterion("life >=", value, "life");
            return (Criteria) this;
        }

        public Criteria andLifeLessThan(Integer value) {
            addCriterion("life <", value, "life");
            return (Criteria) this;
        }

        public Criteria andLifeLessThanOrEqualTo(Integer value) {
            addCriterion("life <=", value, "life");
            return (Criteria) this;
        }

        public Criteria andLifeIn(List<Integer> values) {
            addCriterion("life in", values, "life");
            return (Criteria) this;
        }

        public Criteria andLifeNotIn(List<Integer> values) {
            addCriterion("life not in", values, "life");
            return (Criteria) this;
        }

        public Criteria andLifeBetween(Integer value1, Integer value2) {
            addCriterion("life between", value1, value2, "life");
            return (Criteria) this;
        }

        public Criteria andLifeNotBetween(Integer value1, Integer value2) {
            addCriterion("life not between", value1, value2, "life");
            return (Criteria) this;
        }

        public Criteria andRegisterStateIsNull() {
            addCriterion("register_state is null");
            return (Criteria) this;
        }

        public Criteria andRegisterStateIsNotNull() {
            addCriterion("register_state is not null");
            return (Criteria) this;
        }

        public Criteria andRegisterStateEqualTo(Integer value) {
            addCriterion("register_state =", value, "registerState");
            return (Criteria) this;
        }

        public Criteria andRegisterStateNotEqualTo(Integer value) {
            addCriterion("register_state <>", value, "registerState");
            return (Criteria) this;
        }

        public Criteria andRegisterStateGreaterThan(Integer value) {
            addCriterion("register_state >", value, "registerState");
            return (Criteria) this;
        }

        public Criteria andRegisterStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("register_state >=", value, "registerState");
            return (Criteria) this;
        }

        public Criteria andRegisterStateLessThan(Integer value) {
            addCriterion("register_state <", value, "registerState");
            return (Criteria) this;
        }

        public Criteria andRegisterStateLessThanOrEqualTo(Integer value) {
            addCriterion("register_state <=", value, "registerState");
            return (Criteria) this;
        }

        public Criteria andRegisterStateIn(List<Integer> values) {
            addCriterion("register_state in", values, "registerState");
            return (Criteria) this;
        }

        public Criteria andRegisterStateNotIn(List<Integer> values) {
            addCriterion("register_state not in", values, "registerState");
            return (Criteria) this;
        }

        public Criteria andRegisterStateBetween(Integer value1, Integer value2) {
            addCriterion("register_state between", value1, value2, "registerState");
            return (Criteria) this;
        }

        public Criteria andRegisterStateNotBetween(Integer value1, Integer value2) {
            addCriterion("register_state not between", value1, value2, "registerState");
            return (Criteria) this;
        }

        public Criteria andInsideDiameterIsNull() {
            addCriterion("inside_diameter is null");
            return (Criteria) this;
        }

        public Criteria andInsideDiameterIsNotNull() {
            addCriterion("inside_diameter is not null");
            return (Criteria) this;
        }

        public Criteria andInsideDiameterEqualTo(Integer value) {
            addCriterion("inside_diameter =", value, "insideDiameter");
            return (Criteria) this;
        }

        public Criteria andInsideDiameterNotEqualTo(Integer value) {
            addCriterion("inside_diameter <>", value, "insideDiameter");
            return (Criteria) this;
        }

        public Criteria andInsideDiameterGreaterThan(Integer value) {
            addCriterion("inside_diameter >", value, "insideDiameter");
            return (Criteria) this;
        }

        public Criteria andInsideDiameterGreaterThanOrEqualTo(Integer value) {
            addCriterion("inside_diameter >=", value, "insideDiameter");
            return (Criteria) this;
        }

        public Criteria andInsideDiameterLessThan(Integer value) {
            addCriterion("inside_diameter <", value, "insideDiameter");
            return (Criteria) this;
        }

        public Criteria andInsideDiameterLessThanOrEqualTo(Integer value) {
            addCriterion("inside_diameter <=", value, "insideDiameter");
            return (Criteria) this;
        }

        public Criteria andInsideDiameterIn(List<Integer> values) {
            addCriterion("inside_diameter in", values, "insideDiameter");
            return (Criteria) this;
        }

        public Criteria andInsideDiameterNotIn(List<Integer> values) {
            addCriterion("inside_diameter not in", values, "insideDiameter");
            return (Criteria) this;
        }

        public Criteria andInsideDiameterBetween(Integer value1, Integer value2) {
            addCriterion("inside_diameter between", value1, value2, "insideDiameter");
            return (Criteria) this;
        }

        public Criteria andInsideDiameterNotBetween(Integer value1, Integer value2) {
            addCriterion("inside_diameter not between", value1, value2, "insideDiameter");
            return (Criteria) this;
        }

        public Criteria andPressureIsNull() {
            addCriterion("pressure is null");
            return (Criteria) this;
        }

        public Criteria andPressureIsNotNull() {
            addCriterion("pressure is not null");
            return (Criteria) this;
        }

        public Criteria andPressureEqualTo(String value) {
            addCriterion("pressure =", value, "pressure");
            return (Criteria) this;
        }

        public Criteria andPressureNotEqualTo(String value) {
            addCriterion("pressure <>", value, "pressure");
            return (Criteria) this;
        }

        public Criteria andPressureGreaterThan(String value) {
            addCriterion("pressure >", value, "pressure");
            return (Criteria) this;
        }

        public Criteria andPressureGreaterThanOrEqualTo(String value) {
            addCriterion("pressure >=", value, "pressure");
            return (Criteria) this;
        }

        public Criteria andPressureLessThan(String value) {
            addCriterion("pressure <", value, "pressure");
            return (Criteria) this;
        }

        public Criteria andPressureLessThanOrEqualTo(String value) {
            addCriterion("pressure <=", value, "pressure");
            return (Criteria) this;
        }

        public Criteria andPressureLike(String value) {
            addCriterion("pressure like", value, "pressure");
            return (Criteria) this;
        }

        public Criteria andPressureNotLike(String value) {
            addCriterion("pressure not like", value, "pressure");
            return (Criteria) this;
        }

        public Criteria andPressureIn(List<String> values) {
            addCriterion("pressure in", values, "pressure");
            return (Criteria) this;
        }

        public Criteria andPressureNotIn(List<String> values) {
            addCriterion("pressure not in", values, "pressure");
            return (Criteria) this;
        }

        public Criteria andPressureBetween(String value1, String value2) {
            addCriterion("pressure between", value1, value2, "pressure");
            return (Criteria) this;
        }

        public Criteria andPressureNotBetween(String value1, String value2) {
            addCriterion("pressure not between", value1, value2, "pressure");
            return (Criteria) this;
        }

        public Criteria andVolumeIsNull() {
            addCriterion("volume is null");
            return (Criteria) this;
        }

        public Criteria andVolumeIsNotNull() {
            addCriterion("volume is not null");
            return (Criteria) this;
        }

        public Criteria andVolumeEqualTo(String value) {
            addCriterion("volume =", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeNotEqualTo(String value) {
            addCriterion("volume <>", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeGreaterThan(String value) {
            addCriterion("volume >", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeGreaterThanOrEqualTo(String value) {
            addCriterion("volume >=", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeLessThan(String value) {
            addCriterion("volume <", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeLessThanOrEqualTo(String value) {
            addCriterion("volume <=", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeLike(String value) {
            addCriterion("volume like", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeNotLike(String value) {
            addCriterion("volume not like", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeIn(List<String> values) {
            addCriterion("volume in", values, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeNotIn(List<String> values) {
            addCriterion("volume not in", values, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeBetween(String value1, String value2) {
            addCriterion("volume between", value1, value2, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeNotBetween(String value1, String value2) {
            addCriterion("volume not between", value1, value2, "volume");
            return (Criteria) this;
        }

        public Criteria andSideMediumIsNull() {
            addCriterion("side_medium is null");
            return (Criteria) this;
        }

        public Criteria andSideMediumIsNotNull() {
            addCriterion("side_medium is not null");
            return (Criteria) this;
        }

        public Criteria andSideMediumEqualTo(String value) {
            addCriterion("side_medium =", value, "sideMedium");
            return (Criteria) this;
        }

        public Criteria andSideMediumNotEqualTo(String value) {
            addCriterion("side_medium <>", value, "sideMedium");
            return (Criteria) this;
        }

        public Criteria andSideMediumGreaterThan(String value) {
            addCriterion("side_medium >", value, "sideMedium");
            return (Criteria) this;
        }

        public Criteria andSideMediumGreaterThanOrEqualTo(String value) {
            addCriterion("side_medium >=", value, "sideMedium");
            return (Criteria) this;
        }

        public Criteria andSideMediumLessThan(String value) {
            addCriterion("side_medium <", value, "sideMedium");
            return (Criteria) this;
        }

        public Criteria andSideMediumLessThanOrEqualTo(String value) {
            addCriterion("side_medium <=", value, "sideMedium");
            return (Criteria) this;
        }

        public Criteria andSideMediumLike(String value) {
            addCriterion("side_medium like", value, "sideMedium");
            return (Criteria) this;
        }

        public Criteria andSideMediumNotLike(String value) {
            addCriterion("side_medium not like", value, "sideMedium");
            return (Criteria) this;
        }

        public Criteria andSideMediumIn(List<String> values) {
            addCriterion("side_medium in", values, "sideMedium");
            return (Criteria) this;
        }

        public Criteria andSideMediumNotIn(List<String> values) {
            addCriterion("side_medium not in", values, "sideMedium");
            return (Criteria) this;
        }

        public Criteria andSideMediumBetween(String value1, String value2) {
            addCriterion("side_medium between", value1, value2, "sideMedium");
            return (Criteria) this;
        }

        public Criteria andSideMediumNotBetween(String value1, String value2) {
            addCriterion("side_medium not between", value1, value2, "sideMedium");
            return (Criteria) this;
        }

        public Criteria andEmStateIsNull() {
            addCriterion("em_state is null");
            return (Criteria) this;
        }

        public Criteria andEmStateIsNotNull() {
            addCriterion("em_state is not null");
            return (Criteria) this;
        }

        public Criteria andEmStateEqualTo(Integer value) {
            addCriterion("em_state =", value, "emState");
            return (Criteria) this;
        }

        public Criteria andEmStateNotEqualTo(Integer value) {
            addCriterion("em_state <>", value, "emState");
            return (Criteria) this;
        }

        public Criteria andEmStateGreaterThan(Integer value) {
            addCriterion("em_state >", value, "emState");
            return (Criteria) this;
        }

        public Criteria andEmStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("em_state >=", value, "emState");
            return (Criteria) this;
        }

        public Criteria andEmStateLessThan(Integer value) {
            addCriterion("em_state <", value, "emState");
            return (Criteria) this;
        }

        public Criteria andEmStateLessThanOrEqualTo(Integer value) {
            addCriterion("em_state <=", value, "emState");
            return (Criteria) this;
        }

        public Criteria andEmStateIn(List<Integer> values) {
            addCriterion("em_state in", values, "emState");
            return (Criteria) this;
        }

        public Criteria andEmStateNotIn(List<Integer> values) {
            addCriterion("em_state not in", values, "emState");
            return (Criteria) this;
        }

        public Criteria andEmStateBetween(Integer value1, Integer value2) {
            addCriterion("em_state between", value1, value2, "emState");
            return (Criteria) this;
        }

        public Criteria andEmStateNotBetween(Integer value1, Integer value2) {
            addCriterion("em_state not between", value1, value2, "emState");
            return (Criteria) this;
        }

        public Criteria andDepartmentIsNull() {
            addCriterion("department is null");
            return (Criteria) this;
        }

        public Criteria andDepartmentIsNotNull() {
            addCriterion("department is not null");
            return (Criteria) this;
        }

        public Criteria andDepartmentEqualTo(Integer value) {
            addCriterion("department =", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentNotEqualTo(Integer value) {
            addCriterion("department <>", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentGreaterThan(Integer value) {
            addCriterion("department >", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentGreaterThanOrEqualTo(Integer value) {
            addCriterion("department >=", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentLessThan(Integer value) {
            addCriterion("department <", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentLessThanOrEqualTo(Integer value) {
            addCriterion("department <=", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentIn(List<Integer> values) {
            addCriterion("department in", values, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentNotIn(List<Integer> values) {
            addCriterion("department not in", values, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentBetween(Integer value1, Integer value2) {
            addCriterion("department between", value1, value2, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentNotBetween(Integer value1, Integer value2) {
            addCriterion("department not between", value1, value2, "department");
            return (Criteria) this;
        }

        public Criteria andNextCheckDateIsNull() {
            addCriterion("next_check_date is null");
            return (Criteria) this;
        }

        public Criteria andNextCheckDateIsNotNull() {
            addCriterion("next_check_date is not null");
            return (Criteria) this;
        }

        public Criteria andNextCheckDateEqualTo(Date value) {
            addCriterionForJDBCDate("next_check_date =", value, "nextCheckDate");
            return (Criteria) this;
        }

        public Criteria andNextCheckDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("next_check_date <>", value, "nextCheckDate");
            return (Criteria) this;
        }

        public Criteria andNextCheckDateGreaterThan(Date value) {
            addCriterionForJDBCDate("next_check_date >", value, "nextCheckDate");
            return (Criteria) this;
        }

        public Criteria andNextCheckDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("next_check_date >=", value, "nextCheckDate");
            return (Criteria) this;
        }

        public Criteria andNextCheckDateLessThan(Date value) {
            addCriterionForJDBCDate("next_check_date <", value, "nextCheckDate");
            return (Criteria) this;
        }

        public Criteria andNextCheckDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("next_check_date <=", value, "nextCheckDate");
            return (Criteria) this;
        }

        public Criteria andNextCheckDateIn(List<Date> values) {
            addCriterionForJDBCDate("next_check_date in", values, "nextCheckDate");
            return (Criteria) this;
        }

        public Criteria andNextCheckDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("next_check_date not in", values, "nextCheckDate");
            return (Criteria) this;
        }

        public Criteria andNextCheckDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("next_check_date between", value1, value2, "nextCheckDate");
            return (Criteria) this;
        }

        public Criteria andNextCheckDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("next_check_date not between", value1, value2, "nextCheckDate");
            return (Criteria) this;
        }

        public Criteria andRegisterCodeIsNull() {
            addCriterion("register_code is null");
            return (Criteria) this;
        }

        public Criteria andRegisterCodeIsNotNull() {
            addCriterion("register_code is not null");
            return (Criteria) this;
        }

        public Criteria andRegisterCodeEqualTo(String value) {
            addCriterion("register_code =", value, "registerCode");
            return (Criteria) this;
        }

        public Criteria andRegisterCodeNotEqualTo(String value) {
            addCriterion("register_code <>", value, "registerCode");
            return (Criteria) this;
        }

        public Criteria andRegisterCodeGreaterThan(String value) {
            addCriterion("register_code >", value, "registerCode");
            return (Criteria) this;
        }

        public Criteria andRegisterCodeGreaterThanOrEqualTo(String value) {
            addCriterion("register_code >=", value, "registerCode");
            return (Criteria) this;
        }

        public Criteria andRegisterCodeLessThan(String value) {
            addCriterion("register_code <", value, "registerCode");
            return (Criteria) this;
        }

        public Criteria andRegisterCodeLessThanOrEqualTo(String value) {
            addCriterion("register_code <=", value, "registerCode");
            return (Criteria) this;
        }

        public Criteria andRegisterCodeLike(String value) {
            addCriterion("register_code like", value, "registerCode");
            return (Criteria) this;
        }

        public Criteria andRegisterCodeNotLike(String value) {
            addCriterion("register_code not like", value, "registerCode");
            return (Criteria) this;
        }

        public Criteria andRegisterCodeIn(List<String> values) {
            addCriterion("register_code in", values, "registerCode");
            return (Criteria) this;
        }

        public Criteria andRegisterCodeNotIn(List<String> values) {
            addCriterion("register_code not in", values, "registerCode");
            return (Criteria) this;
        }

        public Criteria andRegisterCodeBetween(String value1, String value2) {
            addCriterion("register_code between", value1, value2, "registerCode");
            return (Criteria) this;
        }

        public Criteria andRegisterCodeNotBetween(String value1, String value2) {
            addCriterion("register_code not between", value1, value2, "registerCode");
            return (Criteria) this;
        }

        public Criteria andRegisterDateIsNull() {
            addCriterion("register_date is null");
            return (Criteria) this;
        }

        public Criteria andRegisterDateIsNotNull() {
            addCriterion("register_date is not null");
            return (Criteria) this;
        }

        public Criteria andRegisterDateEqualTo(Date value) {
            addCriterionForJDBCDate("register_date =", value, "registerDate");
            return (Criteria) this;
        }

        public Criteria andRegisterDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("register_date <>", value, "registerDate");
            return (Criteria) this;
        }

        public Criteria andRegisterDateGreaterThan(Date value) {
            addCriterionForJDBCDate("register_date >", value, "registerDate");
            return (Criteria) this;
        }

        public Criteria andRegisterDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("register_date >=", value, "registerDate");
            return (Criteria) this;
        }

        public Criteria andRegisterDateLessThan(Date value) {
            addCriterionForJDBCDate("register_date <", value, "registerDate");
            return (Criteria) this;
        }

        public Criteria andRegisterDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("register_date <=", value, "registerDate");
            return (Criteria) this;
        }

        public Criteria andRegisterDateIn(List<Date> values) {
            addCriterionForJDBCDate("register_date in", values, "registerDate");
            return (Criteria) this;
        }

        public Criteria andRegisterDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("register_date not in", values, "registerDate");
            return (Criteria) this;
        }

        public Criteria andRegisterDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("register_date between", value1, value2, "registerDate");
            return (Criteria) this;
        }

        public Criteria andRegisterDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("register_date not between", value1, value2, "registerDate");
            return (Criteria) this;
        }

        public Criteria andEmRegionIsNull() {
            addCriterion("em_region is null");
            return (Criteria) this;
        }

        public Criteria andEmRegionIsNotNull() {
            addCriterion("em_region is not null");
            return (Criteria) this;
        }

        public Criteria andEmRegionEqualTo(String value) {
            addCriterion("em_region =", value, "emRegion");
            return (Criteria) this;
        }

        public Criteria andEmRegionNotEqualTo(String value) {
            addCriterion("em_region <>", value, "emRegion");
            return (Criteria) this;
        }

        public Criteria andEmRegionGreaterThan(String value) {
            addCriterion("em_region >", value, "emRegion");
            return (Criteria) this;
        }

        public Criteria andEmRegionGreaterThanOrEqualTo(String value) {
            addCriterion("em_region >=", value, "emRegion");
            return (Criteria) this;
        }

        public Criteria andEmRegionLessThan(String value) {
            addCriterion("em_region <", value, "emRegion");
            return (Criteria) this;
        }

        public Criteria andEmRegionLessThanOrEqualTo(String value) {
            addCriterion("em_region <=", value, "emRegion");
            return (Criteria) this;
        }

        public Criteria andEmRegionLike(String value) {
            addCriterion("em_region like", value, "emRegion");
            return (Criteria) this;
        }

        public Criteria andEmRegionNotLike(String value) {
            addCriterion("em_region not like", value, "emRegion");
            return (Criteria) this;
        }

        public Criteria andEmRegionIn(List<String> values) {
            addCriterion("em_region in", values, "emRegion");
            return (Criteria) this;
        }

        public Criteria andEmRegionNotIn(List<String> values) {
            addCriterion("em_region not in", values, "emRegion");
            return (Criteria) this;
        }

        public Criteria andEmRegionBetween(String value1, String value2) {
            addCriterion("em_region between", value1, value2, "emRegion");
            return (Criteria) this;
        }

        public Criteria andEmRegionNotBetween(String value1, String value2) {
            addCriterion("em_region not between", value1, value2, "emRegion");
            return (Criteria) this;
        }

        public Criteria andCertificateCodeIsNull() {
            addCriterion("certificate_code is null");
            return (Criteria) this;
        }

        public Criteria andCertificateCodeIsNotNull() {
            addCriterion("certificate_code is not null");
            return (Criteria) this;
        }

        public Criteria andCertificateCodeEqualTo(String value) {
            addCriterion("certificate_code =", value, "certificateCode");
            return (Criteria) this;
        }

        public Criteria andCertificateCodeNotEqualTo(String value) {
            addCriterion("certificate_code <>", value, "certificateCode");
            return (Criteria) this;
        }

        public Criteria andCertificateCodeGreaterThan(String value) {
            addCriterion("certificate_code >", value, "certificateCode");
            return (Criteria) this;
        }

        public Criteria andCertificateCodeGreaterThanOrEqualTo(String value) {
            addCriterion("certificate_code >=", value, "certificateCode");
            return (Criteria) this;
        }

        public Criteria andCertificateCodeLessThan(String value) {
            addCriterion("certificate_code <", value, "certificateCode");
            return (Criteria) this;
        }

        public Criteria andCertificateCodeLessThanOrEqualTo(String value) {
            addCriterion("certificate_code <=", value, "certificateCode");
            return (Criteria) this;
        }

        public Criteria andCertificateCodeLike(String value) {
            addCriterion("certificate_code like", value, "certificateCode");
            return (Criteria) this;
        }

        public Criteria andCertificateCodeNotLike(String value) {
            addCriterion("certificate_code not like", value, "certificateCode");
            return (Criteria) this;
        }

        public Criteria andCertificateCodeIn(List<String> values) {
            addCriterion("certificate_code in", values, "certificateCode");
            return (Criteria) this;
        }

        public Criteria andCertificateCodeNotIn(List<String> values) {
            addCriterion("certificate_code not in", values, "certificateCode");
            return (Criteria) this;
        }

        public Criteria andCertificateCodeBetween(String value1, String value2) {
            addCriterion("certificate_code between", value1, value2, "certificateCode");
            return (Criteria) this;
        }

        public Criteria andCertificateCodeNotBetween(String value1, String value2) {
            addCriterion("certificate_code not between", value1, value2, "certificateCode");
            return (Criteria) this;
        }

        public Criteria andCheckCodeIsNull() {
            addCriterion("check_code is null");
            return (Criteria) this;
        }

        public Criteria andCheckCodeIsNotNull() {
            addCriterion("check_code is not null");
            return (Criteria) this;
        }

        public Criteria andCheckCodeEqualTo(String value) {
            addCriterion("check_code =", value, "checkCode");
            return (Criteria) this;
        }

        public Criteria andCheckCodeNotEqualTo(String value) {
            addCriterion("check_code <>", value, "checkCode");
            return (Criteria) this;
        }

        public Criteria andCheckCodeGreaterThan(String value) {
            addCriterion("check_code >", value, "checkCode");
            return (Criteria) this;
        }

        public Criteria andCheckCodeGreaterThanOrEqualTo(String value) {
            addCriterion("check_code >=", value, "checkCode");
            return (Criteria) this;
        }

        public Criteria andCheckCodeLessThan(String value) {
            addCriterion("check_code <", value, "checkCode");
            return (Criteria) this;
        }

        public Criteria andCheckCodeLessThanOrEqualTo(String value) {
            addCriterion("check_code <=", value, "checkCode");
            return (Criteria) this;
        }

        public Criteria andCheckCodeLike(String value) {
            addCriterion("check_code like", value, "checkCode");
            return (Criteria) this;
        }

        public Criteria andCheckCodeNotLike(String value) {
            addCriterion("check_code not like", value, "checkCode");
            return (Criteria) this;
        }

        public Criteria andCheckCodeIn(List<String> values) {
            addCriterion("check_code in", values, "checkCode");
            return (Criteria) this;
        }

        public Criteria andCheckCodeNotIn(List<String> values) {
            addCriterion("check_code not in", values, "checkCode");
            return (Criteria) this;
        }

        public Criteria andCheckCodeBetween(String value1, String value2) {
            addCriterion("check_code between", value1, value2, "checkCode");
            return (Criteria) this;
        }

        public Criteria andCheckCodeNotBetween(String value1, String value2) {
            addCriterion("check_code not between", value1, value2, "checkCode");
            return (Criteria) this;
        }

        public Criteria andContainerTypeIsNull() {
            addCriterion("container_type is null");
            return (Criteria) this;
        }

        public Criteria andContainerTypeIsNotNull() {
            addCriterion("container_type is not null");
            return (Criteria) this;
        }

        public Criteria andContainerTypeEqualTo(Integer value) {
            addCriterion("container_type =", value, "containerType");
            return (Criteria) this;
        }

        public Criteria andContainerTypeNotEqualTo(Integer value) {
            addCriterion("container_type <>", value, "containerType");
            return (Criteria) this;
        }

        public Criteria andContainerTypeGreaterThan(Integer value) {
            addCriterion("container_type >", value, "containerType");
            return (Criteria) this;
        }

        public Criteria andContainerTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("container_type >=", value, "containerType");
            return (Criteria) this;
        }

        public Criteria andContainerTypeLessThan(Integer value) {
            addCriterion("container_type <", value, "containerType");
            return (Criteria) this;
        }

        public Criteria andContainerTypeLessThanOrEqualTo(Integer value) {
            addCriterion("container_type <=", value, "containerType");
            return (Criteria) this;
        }

        public Criteria andContainerTypeIn(List<Integer> values) {
            addCriterion("container_type in", values, "containerType");
            return (Criteria) this;
        }

        public Criteria andContainerTypeNotIn(List<Integer> values) {
            addCriterion("container_type not in", values, "containerType");
            return (Criteria) this;
        }

        public Criteria andContainerTypeBetween(Integer value1, Integer value2) {
            addCriterion("container_type between", value1, value2, "containerType");
            return (Criteria) this;
        }

        public Criteria andContainerTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("container_type not between", value1, value2, "containerType");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNull() {
            addCriterion("is_delete is null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNotNull() {
            addCriterion("is_delete is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteEqualTo(Integer value) {
            addCriterion("is_delete =", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotEqualTo(Integer value) {
            addCriterion("is_delete <>", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThan(Integer value) {
            addCriterion("is_delete >", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_delete >=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThan(Integer value) {
            addCriterion("is_delete <", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThanOrEqualTo(Integer value) {
            addCriterion("is_delete <=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIn(List<Integer> values) {
            addCriterion("is_delete in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotIn(List<Integer> values) {
            addCriterion("is_delete not in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteBetween(Integer value1, Integer value2) {
            addCriterion("is_delete between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotBetween(Integer value1, Integer value2) {
            addCriterion("is_delete not between", value1, value2, "isDelete");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}